package cloud.maque.sso.client.service;

import cloud.maque.common.core.enums.LoginType;
import cloud.maque.sso.client.model.ThridSite;
import cn.dev33.satoken.util.SaResult;

public interface Oauth2Service {


    SaResult PasswordLogin(String username, String password);

    /**
     * 登录并绑定第三方网站
     *
     * @param username
     * @param password
     * @return
     */
    SaResult LongAndBind(String username, String password, ThridSite thrid);

    SaResult ThrirdGetAccessToken(LoginType loginType, String userId);

    SaResult SendPhoneCode(String phone);

    SaResult PhoneCodeLogin(String phone, String code);

    SaResult TotpLogin(String username, String password, String bind, String code);
}
